package com.hsfw.dbmodule.aop;

import com.hsfw.dbmodule.config.DataSourceType;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class DataSourceAop {
    @Before("execution(* com.hsfw.dbmodule.dao..*(..))")
    public void setDataSource2Mysql() {
        DataSourceType.setDataBaseType(DataSourceType.DataBaseType.PRIMARY);
    }
    /**
     * 仅有dao中方法含有slave关键字才会替换为从数据源，否则使用默认mysql数据源
     */
    @Before("execution(* com.hsfw.dbmodule.cypher..*(..))")
    public void setDataSource2neo4j() {
        DataSourceType.setDataBaseType(DataSourceType.DataBaseType.SLAVE);
    }

}
